package org.finesys.ai.entity;

import java.util.ArrayList;
import java.util.List;

import org.finesys.common.mp.core.base.BaseEntity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
/**
 * 知识库
 * */
public class AigcKnowledge extends BaseEntity {

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 名称
     */
    private String name;
    /**
     * 封面
     */
    private String cover;
    /**
     * 备注
     */
    private String remark;


    /**
     * 向量模型ID
     */
    private String embedModelId;
    /**
     * 向量存储ID
     */
    private String embedStoreId;

    @TableField(exist = false)
    private Integer docsNum = 0;
    @TableField(exist = false)
    private Long totalSize = 0L;
    @TableField(exist = false)
    private List<AigcDoc> docs = new ArrayList<>();
    @TableField(exist = false)
    private AigcModel embedModel;
    @TableField(exist = false)
    private AigcEmbedStore embedStore;

    /**
     * 删除标记
     */
    @TableLogic
    private String delFlag;
}
